
/**
 * \file Position.h
 * \brief Module gérant les positions
 * \author Carrillon Sovanna
 * \version 1.0
 * \date juin 2011
 */


#ifndef POSITION_H
#define POSITION_H

#include <stdbool.h>

/**
  * \struct Position
  * \brief est constitué d'une composante entière en x et une composante en y
  */
struct sPosition
    {
        int x;
        int y;
    };
typedef struct sPosition Position;


void posSetX(Position* p_pos, int x);
void posSetY(Position* p_pos, int y);


/* Fait varier la coordonée en x ou y avec le modificateur qui peut aussi être négatif) */
void posAugmenteX(Position* p_pos, int modificateur);
void posAugmenteY(Position* p_pos, int modificateur);



int posGetX(const Position* p_pos);
int posGetY(const Position* p_pos);


const int posGetConstY(const Position* p_pos);
const int posGetConstX(const Position* p_pos);


bool posEgales(const Position* p_pos1, const Position* p_pos2);

float posDistance(const Position* p_pos1, const Position* p_pos2);

#endif /* POSITION_H */
